package com.industry.framework.core.generic;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.industry.framework.core.generic.record.dataobject.dto.RecordDto;
import com.industry.framework.core.generic.table.TableConfigInfo;
import com.industry.framework.core.wrapper.RecordSearchWrapper;
import com.industry.framework.core.wrapper.UpdateWrapper;

import java.util.List;

/**
 * @Author nbZhuozh
 * @Date 2025-03-19  14:16
 **/
public interface GenericService<T,ID> {
    BaseMapper getMapper();

    List<T> queryAll();

    T getDetails(ID id);

    List<? extends T> getTableList();

    void delIds(List<ID> delIds);

    List<String> batchInsert(List<T> list);

    void batchUpdate(List<T> list);

    public void batchUpdate(UpdateWrapper<T> wrapper);

    List<RecordDto> queryDetailsRecords(String id);

    List<RecordDto> queryDetailsRecords(RecordSearchWrapper recordSearchWrapper);

    void insertRecordRemark(String content , String bizId);

    TableConfigInfo tableListQueryConfiger();

    void insertOrUpdate(List<T> items);
}
